Domain Name System (DNS) is a hierarchical naming system for computers, services, or any resource connected to the internet or a private network providing mapping between IP addresses and host names. DNS provides a convenient way that, given a host name, an IP address will be returned. DNS does not have a concept of logical grouping and, thus, a user is not able to query DNS and ask for a group. Also, with DNS, when a user wishes to communicate with a particular machine they first must look up the machine's IP address with DNS. A user may recite a URL or a host without knowing the IP address and without having to know how a machine will locate the site. Thus, every time a user wishes to view a URL or send an e-mail, the machine's IP address is looked up in the DNS.
Peer-to-peer (P2P) networks are distributed networks composed of participants making a portion of their resources available to other network participants, without the need for central coordination instances. If a user is requesting a resource from one of the instances, then the other instances may become aware of that instance. But P2P does not create a full connectivity of instances, so not all instances are aware of each other in a P2P network.
In a class of networks in which machines do not have permanent static IP address, such that IP addresses come and go, (e.g., cloud computing networks) and in which broadcast is not enabled, there remains a need for applications to implement the notion of a cluster or group of logically related instances having the ability to connect to each other consistently. There remains a need for instances in a group to all have awareness of each other.